docker基本使用(一)-- 基础环境安装

docker基本使用

docker安装

  1. 安装镜像

    通常安装docker-ce,镜像源可以从国内清华或者阿里云下载[https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.3e221b11BVVoBl]

  2. 安装必备工具

    1
    yum install -y yum-utils device-mapper-persistent-data lvm2
  3. 添加源信息

    1
    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  4. 更新并安装docker-ce

    1
    2
    yum makecache fast
    yum -y install docker-ce
  5. 配置镜像加速(docker镜像加速:可以选择docker cn,但很慢,通常可以选择国内的其他厂商加速,比如:阿里云),注意: 阿里云的镜像加速需要个人注册并登陆阿里云,在个人开发者中选择镜像加速,之后会生产个人加速镜像源路径。

    1
    2
    3
    4
    5
    6
    7
    docker镜像配置文件位置: /etc/docker/daemon.json  # 默认没有docker目录,需要创建和编辑daemon.json

    1. mkdir /etc/docker
    2. [root@192 yum.repos.d]# cat /etc/docker/daemon.json
    {
    "registry-mirrors": ["https://vwvv5i9f.mirror.aliyuncs.com"]
    }
  1. 启动docker服务,以对镜像的加载使用:systemctl start docker.service

  2. 通过命令docker info就能查看当前docker的信息:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    [root@192 yum.repos.d]# docker info
    Client:
    Debug Mode: false

    Server:
    Containers: 0
    Running: 0
    Paused: 0
    Stopped: 0
    Images: 0
    Server Version: 19.03.8
    Storage Driver: overlay2
    Backing Filesystem: <unknown>
    Supports d_type: true
    Native Overlay Diff: true
    Logging Driver: json-file
    Cgroup Driver: cgroupfs
    Plugins:
    Volume: local
    Network: bridge host ipvlan macvlan null overlay
    Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
    Swarm: inactive
    Runtimes: runc
    Default Runtime: runc
    Init Binary: docker-init
    containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
    runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
    init version: fec3683
    Security Options:
    seccomp
    Profile: default
    Kernel Version: 3.10.0-1062.el7.x86_64
    Operating System: CentOS Linux 7 (Core)
    OSType: linux
    Architecture: x86_64
    CPUs: 1
    Total Memory: 4.659GiB
    Name: 192.168.100.31
    ID: NVAM:QZ2E:VKJY:HRO5:5CHF:L557:E224:AKD5:6XEZ:BWZC:66GT:6NKD
    Docker Root Dir: /var/lib/docker
    Debug Mode: false
    Registry: https://index.docker.io/v1/
    Labels:
    Experimental: false
    Insecure Registries:
    127.0.0.0/8
    Registry Mirrors:
    https://vwvv5i9f.mirror.aliyuncs.com/ # 这里就是配置的镜像加速源
    Live Restore Enabled: false

docker基本使用

docker pull下载镜像

下载一个nginx镜像,命令:docker image pull或者docker pull

1
2
3
4
5
6
7
8
9
[root@192 yum.repos.d]# docker image pull nginx:1.14-alpine
1.14-alpine: Pulling from library/nginx
bdf0201b3a05: Pull complete
3d0a573c81ed: Pull complete
8129faeb2eb6: Pull complete
3dc99f571daf: Pull complete
Digest: sha256:485b610fefec7ff6c463ced9623314a04ed67e3945b9c08d7e53a47f6d108dc7
Status: Downloaded newer image for nginx:1.14-alpine
docker.io/library/nginx:1.14-alpine

注意: 版本中带有alpine字样的是基本最小单元的版本,比如:一个完整的nginx镜像资源为50M左右大小,而alping则仅为10M左右,alpine版本一般用于测试使用,在生产环境中不建议使用。

通过 docker image ls 命令就能查看本地镜像情况:

1
2
3
[root@192 yum.repos.d]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.14-alpine 8a2fb25a19f5 12 months ago 16MB

显示完整信息 : –no-trunc

1
2
3
[root@192 yum.repos.d]# docker image ls --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.14-alpine sha256:8a2fb25a19f5dc1528b7a3fabe8b3145ff57fe10e4f1edac6c718a3cf4aa4b73 12 months ago 16MB

常用命令可参考如下关系图:

基本原理图大致如下:

说明:

  1. Docker client通过https/https协议调用docker服务端;
  2. docker daemon为服务端主程序,docker daemon运行着container中如果本地没有相关镜像就从远端registries拉取;
  3. registries(仓库)上存储着基本的应用,并以tag作为标记。